/**
 * <copyright>
 * </copyright>
 *

 */
package br.ufpe.cin.plp.eseml.impl;

import br.ufpe.cin.plp.eseml.AlternativeHypotheses;
import br.ufpe.cin.plp.eseml.AlternativeHypothesis;
import br.ufpe.cin.plp.eseml.DependentVariable;
import br.ufpe.cin.plp.eseml.DependentVariables;
import br.ufpe.cin.plp.eseml.EsemlFactory;
import br.ufpe.cin.plp.eseml.EsemlPackage;
import br.ufpe.cin.plp.eseml.Experiment;
import br.ufpe.cin.plp.eseml.ExperimentDesign;
import br.ufpe.cin.plp.eseml.ExperimentalObject;
import br.ufpe.cin.plp.eseml.ExperimentalObjectValues;
import br.ufpe.cin.plp.eseml.ExperimentalObjects;
import br.ufpe.cin.plp.eseml.ExperimentalObjectsValues;
import br.ufpe.cin.plp.eseml.ExperimentalSubject;
import br.ufpe.cin.plp.eseml.ExperimentalSubjectValues;
import br.ufpe.cin.plp.eseml.ExperimentalSubjects;
import br.ufpe.cin.plp.eseml.ExperimentalSubjectsValues;
import br.ufpe.cin.plp.eseml.Hypotheses;
import br.ufpe.cin.plp.eseml.Hypothesis;
import br.ufpe.cin.plp.eseml.HypothesisLeftOperand;
import br.ufpe.cin.plp.eseml.HypothesisOperand;
import br.ufpe.cin.plp.eseml.HypothesisRightOperand;
import br.ufpe.cin.plp.eseml.IndependentVaraible;
import br.ufpe.cin.plp.eseml.IndependentVariables;
import br.ufpe.cin.plp.eseml.IndependentVariablesTreatments;
import br.ufpe.cin.plp.eseml.IndependetVariableTreatments;
import br.ufpe.cin.plp.eseml.NullHypotheses;
import br.ufpe.cin.plp.eseml.NullHypothesis;
import br.ufpe.cin.plp.eseml.Variables;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

import org.eclipse.emf.ecore.impl.EPackageImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class EsemlPackageImpl extends EPackageImpl implements EsemlPackage
{
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentDesignEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass variablesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass dependentVariablesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass dependentVariableEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass independentVariablesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass independentVaraibleEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass independentVariablesTreatmentsEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass independetVariableTreatmentsEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass hypothesesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass nullHypothesesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass nullHypothesisEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass alternativeHypothesesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass alternativeHypothesisEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass hypothesisEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass hypothesisLeftOperandEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass hypothesisRightOperandEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass hypothesisOperandEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalObjectsEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalObjectEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalObjectsValuesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalObjectValuesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalSubjectsEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalSubjectEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalSubjectsValuesEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass experimentalSubjectValuesEClass = null;

  /**
   * Creates an instance of the model <b>Package</b>, registered with
   * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
   * package URI value.
   * <p>Note: the correct way to create the package is via the static
   * factory method {@link #init init()}, which also performs
   * initialization of the package, or returns the registered package,
   * if one already exists.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.eclipse.emf.ecore.EPackage.Registry
   * @see br.ufpe.cin.plp.eseml.EsemlPackage#eNS_URI
   * @see #init()
   * @generated
   */
  private EsemlPackageImpl()
  {
    super(eNS_URI, EsemlFactory.eINSTANCE);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private static boolean isInited = false;

  /**
   * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
   * 
   * <p>This method is used to initialize {@link EsemlPackage#eINSTANCE} when that field is accessed.
   * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #eNS_URI
   * @see #createPackageContents()
   * @see #initializePackageContents()
   * @generated
   */
  public static EsemlPackage init()
  {
    if (isInited) return (EsemlPackage)EPackage.Registry.INSTANCE.getEPackage(EsemlPackage.eNS_URI);

    // Obtain or create and register package
    EsemlPackageImpl theEsemlPackage = (EsemlPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EsemlPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EsemlPackageImpl());

    isInited = true;

    // Create package meta-data objects
    theEsemlPackage.createPackageContents();

    // Initialize created meta-data
    theEsemlPackage.initializePackageContents();

    // Mark meta-data to indicate it can't be changed
    theEsemlPackage.freeze();

  
    // Update the registry and return the package
    EPackage.Registry.INSTANCE.put(EsemlPackage.eNS_URI, theEsemlPackage);
    return theEsemlPackage;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperiment()
  {
    return experimentEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getExperiment_Id()
  {
    return (EAttribute)experimentEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperiment_ExperimentDesign()
  {
    return (EReference)experimentEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentDesign()
  {
    return experimentDesignEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentDesign_Variables()
  {
    return (EReference)experimentDesignEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentDesign_Hypotheses()
  {
    return (EReference)experimentDesignEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentDesign_ExperimentalObjects()
  {
    return (EReference)experimentDesignEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentDesign_ExperimentalSubjects()
  {
    return (EReference)experimentDesignEClass.getEStructuralFeatures().get(3);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getVariables()
  {
    return variablesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getVariables_DependentVariables()
  {
    return (EReference)variablesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getVariables_IndependentVariables()
  {
    return (EReference)variablesEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getVariables_IndependentVariablesTreatments()
  {
    return (EReference)variablesEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getDependentVariables()
  {
    return dependentVariablesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getDependentVariables_DependentVariables()
  {
    return (EReference)dependentVariablesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getDependentVariable()
  {
    return dependentVariableEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getDependentVariable_Id()
  {
    return (EAttribute)dependentVariableEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIndependentVariables()
  {
    return independentVariablesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getIndependentVariables_IndependetVaraibles()
  {
    return (EReference)independentVariablesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIndependentVaraible()
  {
    return independentVaraibleEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getIndependentVaraible_Id()
  {
    return (EAttribute)independentVaraibleEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIndependentVariablesTreatments()
  {
    return independentVariablesTreatmentsEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getIndependentVariablesTreatments_IndependetVariableTreatments()
  {
    return (EReference)independentVariablesTreatmentsEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIndependetVariableTreatments()
  {
    return independetVariableTreatmentsEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getIndependetVariableTreatments_Id()
  {
    return (EAttribute)independetVariableTreatmentsEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getIndependetVariableTreatments_Treatments()
  {
    return (EAttribute)independetVariableTreatmentsEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getHypotheses()
  {
    return hypothesesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getHypotheses_NullHypotheses()
  {
    return (EReference)hypothesesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getHypotheses_AlternativesHypotheses()
  {
    return (EReference)hypothesesEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getNullHypotheses()
  {
    return nullHypothesesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getNullHypotheses_NullHypothesis()
  {
    return (EReference)nullHypothesesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getNullHypothesis()
  {
    return nullHypothesisEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getNullHypothesis_Hypothesis()
  {
    return (EReference)nullHypothesisEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getAlternativeHypotheses()
  {
    return alternativeHypothesesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getAlternativeHypotheses_AlternativeHypothesis()
  {
    return (EReference)alternativeHypothesesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getAlternativeHypothesis()
  {
    return alternativeHypothesisEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getAlternativeHypothesis_Hypothesis()
  {
    return (EReference)alternativeHypothesisEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getHypothesis()
  {
    return hypothesisEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getHypothesis_Id()
  {
    return (EAttribute)hypothesisEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getHypothesis_LeftOperand()
  {
    return (EReference)hypothesisEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getHypothesis_EqualitySignal()
  {
    return (EAttribute)hypothesisEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getHypothesis_HypothesisRightOperand()
  {
    return (EReference)hypothesisEClass.getEStructuralFeatures().get(3);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getHypothesisLeftOperand()
  {
    return hypothesisLeftOperandEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getHypothesisLeftOperand_HypothesisOperand()
  {
    return (EReference)hypothesisLeftOperandEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getHypothesisRightOperand()
  {
    return hypothesisRightOperandEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getHypothesisRightOperand_HypothesisOperand()
  {
    return (EReference)hypothesisRightOperandEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getHypothesisOperand()
  {
    return hypothesisOperandEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getHypothesisOperand_DependentVariable()
  {
    return (EAttribute)hypothesisOperandEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getHypothesisOperand_InpendentVariables()
  {
    return (EAttribute)hypothesisOperandEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getHypothesisOperand_InpendentVariablesValues()
  {
    return (EAttribute)hypothesisOperandEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalObjects()
  {
    return experimentalObjectsEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentalObjects_ExperimentalObjects()
  {
    return (EReference)experimentalObjectsEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentalObjects_ExperimentalObjectsValues()
  {
    return (EReference)experimentalObjectsEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalObject()
  {
    return experimentalObjectEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getExperimentalObject_Id()
  {
    return (EAttribute)experimentalObjectEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalObjectsValues()
  {
    return experimentalObjectsValuesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentalObjectsValues_ExperimentalObjectValues()
  {
    return (EReference)experimentalObjectsValuesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalObjectValues()
  {
    return experimentalObjectValuesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getExperimentalObjectValues_Id()
  {
    return (EAttribute)experimentalObjectValuesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getExperimentalObjectValues_Values()
  {
    return (EAttribute)experimentalObjectValuesEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalSubjects()
  {
    return experimentalSubjectsEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentalSubjects_ExperimentalSubjects()
  {
    return (EReference)experimentalSubjectsEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentalSubjects_ExperimentalSubjectsValues()
  {
    return (EReference)experimentalSubjectsEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalSubject()
  {
    return experimentalSubjectEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getExperimentalSubject_Id()
  {
    return (EAttribute)experimentalSubjectEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalSubjectsValues()
  {
    return experimentalSubjectsValuesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getExperimentalSubjectsValues_ExperimentalSubjectValues()
  {
    return (EReference)experimentalSubjectsValuesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getExperimentalSubjectValues()
  {
    return experimentalSubjectValuesEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getExperimentalSubjectValues_Id()
  {
    return (EAttribute)experimentalSubjectValuesEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getExperimentalSubjectValues_Values()
  {
    return (EAttribute)experimentalSubjectValuesEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EsemlFactory getEsemlFactory()
  {
    return (EsemlFactory)getEFactoryInstance();
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private boolean isCreated = false;

  /**
   * Creates the meta-model objects for the package.  This method is
   * guarded to have no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void createPackageContents()
  {
    if (isCreated) return;
    isCreated = true;

    // Create classes and their features
    experimentEClass = createEClass(EXPERIMENT);
    createEAttribute(experimentEClass, EXPERIMENT__ID);
    createEReference(experimentEClass, EXPERIMENT__EXPERIMENT_DESIGN);

    experimentDesignEClass = createEClass(EXPERIMENT_DESIGN);
    createEReference(experimentDesignEClass, EXPERIMENT_DESIGN__VARIABLES);
    createEReference(experimentDesignEClass, EXPERIMENT_DESIGN__HYPOTHESES);
    createEReference(experimentDesignEClass, EXPERIMENT_DESIGN__EXPERIMENTAL_OBJECTS);
    createEReference(experimentDesignEClass, EXPERIMENT_DESIGN__EXPERIMENTAL_SUBJECTS);

    variablesEClass = createEClass(VARIABLES);
    createEReference(variablesEClass, VARIABLES__DEPENDENT_VARIABLES);
    createEReference(variablesEClass, VARIABLES__INDEPENDENT_VARIABLES);
    createEReference(variablesEClass, VARIABLES__INDEPENDENT_VARIABLES_TREATMENTS);

    dependentVariablesEClass = createEClass(DEPENDENT_VARIABLES);
    createEReference(dependentVariablesEClass, DEPENDENT_VARIABLES__DEPENDENT_VARIABLES);

    dependentVariableEClass = createEClass(DEPENDENT_VARIABLE);
    createEAttribute(dependentVariableEClass, DEPENDENT_VARIABLE__ID);

    independentVariablesEClass = createEClass(INDEPENDENT_VARIABLES);
    createEReference(independentVariablesEClass, INDEPENDENT_VARIABLES__INDEPENDET_VARAIBLES);

    independentVaraibleEClass = createEClass(INDEPENDENT_VARAIBLE);
    createEAttribute(independentVaraibleEClass, INDEPENDENT_VARAIBLE__ID);

    independentVariablesTreatmentsEClass = createEClass(INDEPENDENT_VARIABLES_TREATMENTS);
    createEReference(independentVariablesTreatmentsEClass, INDEPENDENT_VARIABLES_TREATMENTS__INDEPENDET_VARIABLE_TREATMENTS);

    independetVariableTreatmentsEClass = createEClass(INDEPENDET_VARIABLE_TREATMENTS);
    createEAttribute(independetVariableTreatmentsEClass, INDEPENDET_VARIABLE_TREATMENTS__ID);
    createEAttribute(independetVariableTreatmentsEClass, INDEPENDET_VARIABLE_TREATMENTS__TREATMENTS);

    hypothesesEClass = createEClass(HYPOTHESES);
    createEReference(hypothesesEClass, HYPOTHESES__NULL_HYPOTHESES);
    createEReference(hypothesesEClass, HYPOTHESES__ALTERNATIVES_HYPOTHESES);

    nullHypothesesEClass = createEClass(NULL_HYPOTHESES);
    createEReference(nullHypothesesEClass, NULL_HYPOTHESES__NULL_HYPOTHESIS);

    nullHypothesisEClass = createEClass(NULL_HYPOTHESIS);
    createEReference(nullHypothesisEClass, NULL_HYPOTHESIS__HYPOTHESIS);

    alternativeHypothesesEClass = createEClass(ALTERNATIVE_HYPOTHESES);
    createEReference(alternativeHypothesesEClass, ALTERNATIVE_HYPOTHESES__ALTERNATIVE_HYPOTHESIS);

    alternativeHypothesisEClass = createEClass(ALTERNATIVE_HYPOTHESIS);
    createEReference(alternativeHypothesisEClass, ALTERNATIVE_HYPOTHESIS__HYPOTHESIS);

    hypothesisEClass = createEClass(HYPOTHESIS);
    createEAttribute(hypothesisEClass, HYPOTHESIS__ID);
    createEReference(hypothesisEClass, HYPOTHESIS__LEFT_OPERAND);
    createEAttribute(hypothesisEClass, HYPOTHESIS__EQUALITY_SIGNAL);
    createEReference(hypothesisEClass, HYPOTHESIS__HYPOTHESIS_RIGHT_OPERAND);

    hypothesisLeftOperandEClass = createEClass(HYPOTHESIS_LEFT_OPERAND);
    createEReference(hypothesisLeftOperandEClass, HYPOTHESIS_LEFT_OPERAND__HYPOTHESIS_OPERAND);

    hypothesisRightOperandEClass = createEClass(HYPOTHESIS_RIGHT_OPERAND);
    createEReference(hypothesisRightOperandEClass, HYPOTHESIS_RIGHT_OPERAND__HYPOTHESIS_OPERAND);

    hypothesisOperandEClass = createEClass(HYPOTHESIS_OPERAND);
    createEAttribute(hypothesisOperandEClass, HYPOTHESIS_OPERAND__DEPENDENT_VARIABLE);
    createEAttribute(hypothesisOperandEClass, HYPOTHESIS_OPERAND__INPENDENT_VARIABLES);
    createEAttribute(hypothesisOperandEClass, HYPOTHESIS_OPERAND__INPENDENT_VARIABLES_VALUES);

    experimentalObjectsEClass = createEClass(EXPERIMENTAL_OBJECTS);
    createEReference(experimentalObjectsEClass, EXPERIMENTAL_OBJECTS__EXPERIMENTAL_OBJECTS);
    createEReference(experimentalObjectsEClass, EXPERIMENTAL_OBJECTS__EXPERIMENTAL_OBJECTS_VALUES);

    experimentalObjectEClass = createEClass(EXPERIMENTAL_OBJECT);
    createEAttribute(experimentalObjectEClass, EXPERIMENTAL_OBJECT__ID);

    experimentalObjectsValuesEClass = createEClass(EXPERIMENTAL_OBJECTS_VALUES);
    createEReference(experimentalObjectsValuesEClass, EXPERIMENTAL_OBJECTS_VALUES__EXPERIMENTAL_OBJECT_VALUES);

    experimentalObjectValuesEClass = createEClass(EXPERIMENTAL_OBJECT_VALUES);
    createEAttribute(experimentalObjectValuesEClass, EXPERIMENTAL_OBJECT_VALUES__ID);
    createEAttribute(experimentalObjectValuesEClass, EXPERIMENTAL_OBJECT_VALUES__VALUES);

    experimentalSubjectsEClass = createEClass(EXPERIMENTAL_SUBJECTS);
    createEReference(experimentalSubjectsEClass, EXPERIMENTAL_SUBJECTS__EXPERIMENTAL_SUBJECTS);
    createEReference(experimentalSubjectsEClass, EXPERIMENTAL_SUBJECTS__EXPERIMENTAL_SUBJECTS_VALUES);

    experimentalSubjectEClass = createEClass(EXPERIMENTAL_SUBJECT);
    createEAttribute(experimentalSubjectEClass, EXPERIMENTAL_SUBJECT__ID);

    experimentalSubjectsValuesEClass = createEClass(EXPERIMENTAL_SUBJECTS_VALUES);
    createEReference(experimentalSubjectsValuesEClass, EXPERIMENTAL_SUBJECTS_VALUES__EXPERIMENTAL_SUBJECT_VALUES);

    experimentalSubjectValuesEClass = createEClass(EXPERIMENTAL_SUBJECT_VALUES);
    createEAttribute(experimentalSubjectValuesEClass, EXPERIMENTAL_SUBJECT_VALUES__ID);
    createEAttribute(experimentalSubjectValuesEClass, EXPERIMENTAL_SUBJECT_VALUES__VALUES);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private boolean isInitialized = false;

  /**
   * Complete the initialization of the package and its meta-model.  This
   * method is guarded to have no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void initializePackageContents()
  {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes

    // Initialize classes and features; add operations and parameters
    initEClass(experimentEClass, Experiment.class, "Experiment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getExperiment_Id(), ecorePackage.getEString(), "id", null, 0, 1, Experiment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getExperiment_ExperimentDesign(), this.getExperimentDesign(), null, "experimentDesign", null, 0, 1, Experiment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentDesignEClass, ExperimentDesign.class, "ExperimentDesign", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getExperimentDesign_Variables(), this.getVariables(), null, "variables", null, 0, 1, ExperimentDesign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getExperimentDesign_Hypotheses(), this.getHypotheses(), null, "hypotheses", null, 0, 1, ExperimentDesign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getExperimentDesign_ExperimentalObjects(), this.getExperimentalObjects(), null, "experimentalObjects", null, 0, 1, ExperimentDesign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getExperimentDesign_ExperimentalSubjects(), this.getExperimentalSubjects(), null, "experimentalSubjects", null, 0, 1, ExperimentDesign.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(variablesEClass, Variables.class, "Variables", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getVariables_DependentVariables(), this.getDependentVariables(), null, "dependentVariables", null, 0, 1, Variables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getVariables_IndependentVariables(), this.getIndependentVariables(), null, "independentVariables", null, 0, 1, Variables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getVariables_IndependentVariablesTreatments(), this.getIndependentVariablesTreatments(), null, "independentVariablesTreatments", null, 0, 1, Variables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(dependentVariablesEClass, DependentVariables.class, "DependentVariables", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDependentVariables_DependentVariables(), this.getDependentVariable(), null, "dependentVariables", null, 0, -1, DependentVariables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(dependentVariableEClass, DependentVariable.class, "DependentVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getDependentVariable_Id(), ecorePackage.getEString(), "id", null, 0, 1, DependentVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(independentVariablesEClass, IndependentVariables.class, "IndependentVariables", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getIndependentVariables_IndependetVaraibles(), this.getIndependentVaraible(), null, "independetVaraibles", null, 0, -1, IndependentVariables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(independentVaraibleEClass, IndependentVaraible.class, "IndependentVaraible", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getIndependentVaraible_Id(), ecorePackage.getEString(), "id", null, 0, 1, IndependentVaraible.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(independentVariablesTreatmentsEClass, IndependentVariablesTreatments.class, "IndependentVariablesTreatments", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getIndependentVariablesTreatments_IndependetVariableTreatments(), this.getIndependetVariableTreatments(), null, "independetVariableTreatments", null, 0, -1, IndependentVariablesTreatments.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(independetVariableTreatmentsEClass, IndependetVariableTreatments.class, "IndependetVariableTreatments", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getIndependetVariableTreatments_Id(), ecorePackage.getEString(), "id", null, 0, 1, IndependetVariableTreatments.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getIndependetVariableTreatments_Treatments(), ecorePackage.getEString(), "treatments", null, 0, -1, IndependetVariableTreatments.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(hypothesesEClass, Hypotheses.class, "Hypotheses", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getHypotheses_NullHypotheses(), this.getNullHypotheses(), null, "nullHypotheses", null, 0, 1, Hypotheses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getHypotheses_AlternativesHypotheses(), this.getAlternativeHypotheses(), null, "alternativesHypotheses", null, 0, 1, Hypotheses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(nullHypothesesEClass, NullHypotheses.class, "NullHypotheses", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getNullHypotheses_NullHypothesis(), this.getNullHypothesis(), null, "nullHypothesis", null, 0, -1, NullHypotheses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(nullHypothesisEClass, NullHypothesis.class, "NullHypothesis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getNullHypothesis_Hypothesis(), this.getHypothesis(), null, "hypothesis", null, 0, 1, NullHypothesis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(alternativeHypothesesEClass, AlternativeHypotheses.class, "AlternativeHypotheses", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getAlternativeHypotheses_AlternativeHypothesis(), this.getAlternativeHypothesis(), null, "alternativeHypothesis", null, 0, -1, AlternativeHypotheses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(alternativeHypothesisEClass, AlternativeHypothesis.class, "AlternativeHypothesis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getAlternativeHypothesis_Hypothesis(), this.getHypothesis(), null, "hypothesis", null, 0, 1, AlternativeHypothesis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(hypothesisEClass, Hypothesis.class, "Hypothesis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getHypothesis_Id(), ecorePackage.getEString(), "id", null, 0, 1, Hypothesis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getHypothesis_LeftOperand(), this.getHypothesisLeftOperand(), null, "leftOperand", null, 0, 1, Hypothesis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getHypothesis_EqualitySignal(), ecorePackage.getEString(), "equalitySignal", null, 0, 1, Hypothesis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getHypothesis_HypothesisRightOperand(), this.getHypothesisRightOperand(), null, "hypothesisRightOperand", null, 0, 1, Hypothesis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(hypothesisLeftOperandEClass, HypothesisLeftOperand.class, "HypothesisLeftOperand", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getHypothesisLeftOperand_HypothesisOperand(), this.getHypothesisOperand(), null, "hypothesisOperand", null, 0, 1, HypothesisLeftOperand.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(hypothesisRightOperandEClass, HypothesisRightOperand.class, "HypothesisRightOperand", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getHypothesisRightOperand_HypothesisOperand(), this.getHypothesisOperand(), null, "hypothesisOperand", null, 0, 1, HypothesisRightOperand.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(hypothesisOperandEClass, HypothesisOperand.class, "HypothesisOperand", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getHypothesisOperand_DependentVariable(), ecorePackage.getEString(), "dependentVariable", null, 0, 1, HypothesisOperand.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getHypothesisOperand_InpendentVariables(), ecorePackage.getEString(), "inpendentVariables", null, 0, -1, HypothesisOperand.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getHypothesisOperand_InpendentVariablesValues(), ecorePackage.getEString(), "inpendentVariablesValues", null, 0, -1, HypothesisOperand.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalObjectsEClass, ExperimentalObjects.class, "ExperimentalObjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getExperimentalObjects_ExperimentalObjects(), this.getExperimentalObject(), null, "experimentalObjects", null, 0, -1, ExperimentalObjects.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getExperimentalObjects_ExperimentalObjectsValues(), this.getExperimentalObjectsValues(), null, "experimentalObjectsValues", null, 0, 1, ExperimentalObjects.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalObjectEClass, ExperimentalObject.class, "ExperimentalObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getExperimentalObject_Id(), ecorePackage.getEString(), "id", null, 0, 1, ExperimentalObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalObjectsValuesEClass, ExperimentalObjectsValues.class, "ExperimentalObjectsValues", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getExperimentalObjectsValues_ExperimentalObjectValues(), this.getExperimentalObjectValues(), null, "experimentalObjectValues", null, 0, -1, ExperimentalObjectsValues.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalObjectValuesEClass, ExperimentalObjectValues.class, "ExperimentalObjectValues", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getExperimentalObjectValues_Id(), ecorePackage.getEString(), "id", null, 0, 1, ExperimentalObjectValues.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getExperimentalObjectValues_Values(), ecorePackage.getEString(), "values", null, 0, -1, ExperimentalObjectValues.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalSubjectsEClass, ExperimentalSubjects.class, "ExperimentalSubjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getExperimentalSubjects_ExperimentalSubjects(), this.getExperimentalSubject(), null, "experimentalSubjects", null, 0, -1, ExperimentalSubjects.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getExperimentalSubjects_ExperimentalSubjectsValues(), this.getExperimentalSubjectsValues(), null, "experimentalSubjectsValues", null, 0, 1, ExperimentalSubjects.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalSubjectEClass, ExperimentalSubject.class, "ExperimentalSubject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getExperimentalSubject_Id(), ecorePackage.getEString(), "id", null, 0, 1, ExperimentalSubject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalSubjectsValuesEClass, ExperimentalSubjectsValues.class, "ExperimentalSubjectsValues", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getExperimentalSubjectsValues_ExperimentalSubjectValues(), this.getExperimentalSubjectValues(), null, "experimentalSubjectValues", null, 0, -1, ExperimentalSubjectsValues.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(experimentalSubjectValuesEClass, ExperimentalSubjectValues.class, "ExperimentalSubjectValues", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getExperimentalSubjectValues_Id(), ecorePackage.getEString(), "id", null, 0, 1, ExperimentalSubjectValues.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getExperimentalSubjectValues_Values(), ecorePackage.getEString(), "values", null, 0, -1, ExperimentalSubjectValues.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    // Create resource
    createResource(eNS_URI);
  }

} //EsemlPackageImpl
